Field
This disclosure is generally related to distribution of digital content. More specifically, this disclosure is related to a system and method for negotiating content in a content centric network (CCN) based on encoding acceptable responses in a CCN name.
Related Art
The proliferation of the Internet and e-commerce continues to create a vast amount of digital content. Content-centric network (CCN) architectures have been designed to facilitate accessing and processing such digital content. A CCN includes entities, or nodes, such as network clients, forwarders (e.g., routers), and content producers, which communicate with each other by sending interest packets for various content items and receiving content object packets in return. CCN interests and content objects are identified by their unique names, which are typically hierarchically structured variable length identifiers (HSVLI). An HSVLI can include contiguous name components ordered from a most general level to a most specific level. As an interest packet is routed through the network from a content requesting node to a content producing node, each intermediate CCN router adds an entry in its pending interest table (PIT) corresponding to the interest and forwards the interest to the next CCN router. When a matching content object packet is sent from the content producing node back to the requesting node, it follows the reverse path of the interest. Each intermediate CCN router forwards the content object along the requesting interfaces listed in the corresponding PIT entry and subsequently removes the PIT entry, indicating that the interest has been fulfilled.
The increasing amount of digital content also creates a need for flexible access to content, such as allowing a content requesting node or a client to specify a response with qualifiers. Content negotiation in hypertext transfer protocol (HTTP) is one technique that permits this flexible access. The HTTP protocol allows a client to transmit a “GET” request to an HTTP server and include additional meta-data in the request to obtain a specific set of resources, such as a document in a certain language or encoding. As CCN architectures evolve, there is a need to provide a similar, content negotiation technique to content requesting nodes or clients.